import infomap.Plan
import infomap.Usuario
import infomap.EventoVial
import infomap.Ubicacion
import infomap.Servicio
import infomap.Zona
import grails.util.Environment

class BootStrap {

    def init = { servletContext ->
        new Plan(descripcion: "Plan Web", precio: 10, recibeMail: true, recibeSms: false).save()
        new Plan(descripcion: "Plan SMS", precio: 40, recibeMail: false, recibeSms: true).save()
        def fullPlan = new Plan(descripcion: "Plan Full", precio: 50, recibeMail: true, recibeSms: true)
        fullPlan.save()

        def matata = new Usuario(apellido: "Wais", celular: "1121550156",
                                 mail: "mwaisgold@gmail.com", nombre: "Matías",
                                 password: "1234")
        matata.addToPlanes(fullPlan)
        matata.save()

        def vir = new Usuario(apellido: "Gonzalez", celular: "1158411181",
                                 mail: "virginiajgonzalez@gmail.com", nombre: "Virginia",
                                 password: "1234")
        vir.addToPlanes(fullPlan)
        vir.save()

        def luis = new Usuario(apellido: "Albarracin", celular: "1155077893",
                                 mail: "luisalbarracin@gmail.com", nombre: "Luis",
                                 password: "1234")
        luis.addToPlanes(fullPlan)
        luis.save()

        def obelisco = new Ubicacion(latitud: -34.603563, longitud: -58.381568)
        obelisco.save()

        def bardoEnElCentro = new EventoVial(descripcion: "Piquete en el obelisco", barrio: "San Cristobal")
        bardoEnElCentro.ubicacion = obelisco
        bardoEnElCentro.save()

        defineServicios()
        defineZonas()

        if (Environment.current != Environment.PRODUCTION){
            matata.addToZonas(Zona.findByNombre("Villa Urquiza"))
            vir.addToZonas(Zona.findByNombre("Almagro"))
        }

    }

    def defineServicios = {
        new Servicio(descripcion: "Subte A", estado: Servicio.ESTADO_DEMORADO).save()
        new Servicio(descripcion: "Subte B", estado: Servicio.ESTADO_DEMORADO).save()
        new Servicio(descripcion: "Subte C", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Subte D", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Subte E", estado: Servicio.ESTADO_PARO).save()
        new Servicio(descripcion: "Subte H", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Ferrocarril Sarmiento", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Ferrocarril Roca", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Ferrocarril Belgrano", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Ferrocarril San Martín", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Ferrocarril Urquiza", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Ferrocarril Mitre", estado: Servicio.ESTADO_NORMAL).save()
        new Servicio(descripcion: "Premetro", estado: Servicio.ESTADO_NORMAL).save()
    }

    def defineZonas = {
        new Zona(nombre: "Agronomía").save()
        new Zona(nombre: "Almagro").save()
        new Zona(nombre: "Avellaneda Park").save()
        new Zona(nombre: "Balvanera").save()
        new Zona(nombre: "Barracas").save()
        new Zona(nombre: "Belgrano").save()
        new Zona(nombre: "Boca").save()
        new Zona(nombre: "Boedo").save()
        new Zona(nombre: "Caballito").save()
        new Zona(nombre: "Chacarita").save()
        new Zona(nombre: "Coghlan").save()
        new Zona(nombre: "Colegiales").save()
        new Zona(nombre: "Constitución").save()
        new Zona(nombre: "Flores").save()
        new Zona(nombre: "Floresta").save()
        new Zona(nombre: "Liniers").save()
        new Zona(nombre: "Mataderos").save()
        new Zona(nombre: "Monte Castro").save()
        new Zona(nombre: "Montserrat").save()
        new Zona(nombre: "Nueva Pompeya").save()
        new Zona(nombre: "Núñez").save()
        new Zona(nombre: "Palermo").save()
        new Zona(nombre: "Parque Chacabuco").save()
        new Zona(nombre: "Parque Patricios").save()
        new Zona(nombre: "Paternal").save()
        new Zona(nombre: "Puerto Madero").save()
        new Zona(nombre: "Recoleta").save()
        new Zona(nombre: "Reserva Ecológica").save()
        new Zona(nombre: "Retiro").save()
        new Zona(nombre: "Saavedra").save()
        new Zona(nombre: "San Cristóbal").save()
        new Zona(nombre: "San Nicolás").save()
        new Zona(nombre: "San Telmo").save()
        new Zona(nombre: "Versalles").save()
        new Zona(nombre: "Villa Crespo").save()
        new Zona(nombre: "Villa Devoto").save()
        new Zona(nombre: "Villa Gral.mitre").save()
        new Zona(nombre: "Villa Lugano").save()
        new Zona(nombre: "Villa Luro").save()
        new Zona(nombre: "Villa Ortúzar").save()
        new Zona(nombre: "Villa Pueyrredón").save()
        new Zona(nombre: "Villa Real").save()
        new Zona(nombre: "Villa Riachuelo").save()
        new Zona(nombre: "Villa Santa Rita").save()
        new Zona(nombre: "Villa Soldati").save()
        new Zona(nombre: "Villa Urquiza").save()
        new Zona(nombre: "Villa del Parque").save()
        new Zona(nombre: "Vélez Sársfield").save()
        new Zona(nombre: "Zona Portuaria").save()
    }

    def destroy = {
    }
}
